Python 如何在v.DataTable中选择一个元素? 描述

Python 如何在v.DataTable中选择一个元素? 描述,python,vuetify.js,jupyter,Python,Vuetify.js,Jupyter,我尝试创建一个交互式数据表。 这个想法是在我点击铅笔时打开一个对话框,并用当前行信息填充对话框。我不知道如何通过点击铅笔来获取这些信息,所以我添加了一个额外的select btn,以了解当前选中的行 问题我无法选择一行。。。 当我点击任何一个复选框时,它会将它们全部选中。是虫子吗 复制 v.DataTable( v_模型=[], show_select=True, 单选=真, 标题=标题, 项目=沙漠, v_插槽=[ {#修改铅笔 'name':'item.action', “变量”:“项”,

我尝试创建一个交互式数据表。 这个想法是在我点击铅笔时打开一个对话框,并用当前行信息填充对话框。我不知道如何通过点击铅笔来获取这些信息,所以我添加了一个额外的select btn,以了解当前选中的行

问题我无法选择一行。。。 当我点击任何一个复选框时,它会将它们全部选中。是虫子吗

复制
v.DataTable(
v_模型=[],
show_select=True,
单选=真,
标题=标题,
项目=沙漠,
v_插槽=[
{#修改铅笔
'name':'item.action',
“变量”:“项”,
“children”:v.Icon(small=True,children=['mdi-pencil'])
}
]
)
数据
标题=[
{'text':'甜点(100g服务)''value':'name',},
{'text':'carries','value':'carries'},
{'text':'Fat(g)'value':'Fat'},
{'text':'Carbs(g)''value':'Carbs'},
{'text':'Protein(g)'value':'Protein'},
{'text':'Iron(%)','value':'Iron'},
{'text':'Action','value':'Action'}
]
沙漠=[
{
“名称”:“冷冻酸奶”,
“卡路里”:159,
“fat”:6.0,
“碳水化合物”:24,
“蛋白质”:4.0,
“铁”:1%,
},
{
“姓名”:“冰淇淋三明治”,
“卡路里”:237,
“fat”:9.0,
“碳水化合物”:37,
“蛋白质”:4.3,
“铁”:1%,
},
{
'name':'Eclair',
“卡路里”:262,
“fat”:16.0,
“碳水化合物”:23,
“蛋白质”:6.0,
“铁”:7%,
}
]
编辑 如果我观察
数据表的
v_模型
,我意识到这些值是根据我的需要选择的,只是显示与vuetify.js行为不匹配。

如两种实现中所述是可能的:

面向小部件的实现 您只是忘记了
v.DataTable
中的
item\u key='name'
参数:

v.DataTable(
v_模型=[],
show_select=True,
单选=真,
item_key='name',
标题=标题,
项目=沙漠,
v_插槽=[
{#修改铅笔
'name':'item.action',
“变量”:“项”,
“children”:v.Icon(small=True,children=['mdi-pencil'])
}
]
)
vuetify模板版本 要在不使用复选框代理的情况下访问项目数据,可以使用
v.vuetifytemplate
版本:

将IPYfutify导入为v
进口小贩
类MyDataTable(v.VuetifyTemplate):
template=traitlets.Unicode(“”)
mdi铅笔
{{item_to_edit.name}
'').tag(sync=True)
selected=traitlets.List([]).tag(sync=True)
headers=traitlets.List([]).tag(sync=True)
沙漠=traitlets.List([]).tag(sync=True)
打开编辑对话框=traitlets.Bool(False).tag(sync=True)
item_to_edit=traitlets.Dict().tag(sync=True)
def vue_编辑_项(自身,项):
self.item\u to\u edit=项目
self.open\u edit\u dialog=True
我的数据表=我的数据表(标题=标题,沙漠=沙漠)
我的数据表