1
私はVueの$のcreateElementコードにhttp://element.eleme.io/#/en-US/component/tree#custom-node-contentでの例からJSXコードを変換しようとしている
元のコードスニペット:
renderContent(h, { node, data, store }) {
return (
<span>
<span>
<span>{node.label}</span>
</span>
<span style="float: right; margin-right: 20px">
<el-button size="mini" on-click={() => this.append(store, data) }>Append</el-button>
<el-button size="mini" on-click={() => this.remove(store, data) }>Delete</el-button>
</span>
</span>);
}
}
と変換するための私の試み:
renderContent (h, { node, data, store }) {
return h('SPAN', [
h('SPAN', [h('SPAN', node.label)]),
h('SPAN', {attrs: {style: 'float: right; margin-right: 20px'}}, [
h('el-button', { attrs: { size: 'mini', on: { click: this.append(store, data) } } }, 'Append'),
h('el-button', { attrs: { size: 'mini', on: { click: this.delete } } }, 'Delete')
])
])
}
が、それは失敗します。常にすべてのノードのレンダリングとは決して後の時点で実行さAppend
ボタンを。ボタンDelete
はまったく実行されません。
したがって、引数を持つイベントハンドラを作成された要素に適切に渡すにはどうしたらいいですか?
エラー:レンダリング関数のエラー: "TypeError:未定義のプロパティ 'bind'を読み取ることができません。 2番目 - エラーはありません。何もしません。 – htonus
これは奇妙です。 .append(store、data) 'はあなたのコードでエラーをスローしませんか? –
あなたは正しく機能名を間違って入力しました。したがって、エラーやイベントハンドラはトリガされません。それから、もう一度ドキュメンテーションをチェックし、 'on 'キーを間違った場所に置くことを知った。固定後 - すべて正常に動作します。どうもありがとうございます! – htonus