console.log(ref1) 打印 ref1元素如下:
Proxy {…}
[[Handler]]: Object
[[Target]]: Object
align: (…)
className: (…)
columnKey: (…)
filterMethod: (…)
filterMultiple: (…)
filterPlacement: (…)
filteredValue: (…)
filters: (…)
fixed: (…)
formatter: (…)
headerAlign: (…)
index: (…)
label: (…)
labelClassName: (…)
minWidth: (…)
prop: (…)
property: (…)
renderHeader: (…)
reserveSelection: (…)
resizable: (…)
selectable: (…)
showOverflowTooltip: (…)
showTooltipWhenOverflow: (…)
sortBy: (…)
sortMethod: (…)
sortOrders: (…)
sortable: (…)
type: (…)
width: (…)
比如我可以用 ref1.label 正常获到 label的值,
但是, ref1.label = 'd12", 我不能这样改写,ref1.set.label="d12" ,这样也不行
ref1.label.value='d12' 也不成
报错如下
runtime-core.esm-bundler.js:6764 Uncaught TypeError: 'set' on proxy: trap returned falsish for property 'label'
请问要怎么增删改 ,这里面的属性
试一下ref.label.value = "d12"
ref绑定的是一个对象,没有真实的dom,你需要把ref赋值的变量比如tableData,tableData.value才能取到值进行修改dom
另一个思路,不用ref属性,直接把label绑定到你的data里,然后更新data。
这样就行了
this.$refs.ref1.label.value
你这个ref怎么绑定的,
引入nextTick ,在nextTick 里修改
import { ref,nextTick } from 'vue';
nextTick(() => {
ref1.lable= 'newValue'
})