Шоу ожидает лица, а не блока. Вы, вероятно, хотите что-то вместе
v: layout [
f1: field "to refresh"
f2: field "to refresh"
button "refresh" [f1/text: f2/text show v ]
]
Чтобы увидеть изменение, вы должны ввести что-нибудь во второе поле ввода, прежде чем нажимать кнопку.
Чтобы что-то (с пользой) работало с вашим обновлением, вы можете использовать
i: 1
sw: true
v: layout compose [
f1: field data test/:i/1
f2: field data test/:i/2
button "refresh" [
i: pick [1 2] sw: not sw
f1/text: test/:i/1
f2/text: test/:i/2
show v
]
]
show снова не загружает блок определения лица, но red-gui-system docs, например
«Red / View будет обновлять лица и графические объекты в реальном времени по мере изменения их свойств. Это поведение по умолчанию, но его можно отключить, когда желателен полный контроль над обновлениями экрана. Это достигается за счет:
system/view/auto-sync?: off
Когда автоматическая синхронизация отключена, вам нужно использовать функцию показа на лицах, чтобы графические объекты обновлялись на экране ".
Я предполагаю, что вы можете получить что-то похожее на ваше намерение, уничтожив старый объект лица и построив новый с блоком спецификации.
test: [
["a1" "b1"]
["a2" "b2"]
]
i: 1
sw: true
vvw: layout v: [
field data test/:i/1
field data test/:i/2
button "refresh" [
i: pick [1 2] sw: not sw
unview vvw
view v
]
]
view vvw
person
sqlab
schedule
18.12.2017