提问人:Jdubstep2345 提问时间:11/15/2023 最后编辑:Jdubstep2345 更新时间:11/15/2023 访问量:27
Alpine.JS 刷新后如何保存动态数据
Alpine.JS how to save dynamic data after refresh
问:
我做了一个下拉列表,单击后显示下面的结果。但是,我似乎无法弄清楚刷新后如何保留数据。如果我添加十个不同的名称,如果我刷新浏览器,我必须重新开始。任何帮助将不胜感激。
我的 HTML:
<div x-data="addRemove()">
<form x-on:submit.stop.prevent="addRemoveSubmit">
<!-- The dropdown itself is a Larvel component -->
<select x-model="newLast" id="last"
wire:model="Customer_Name">
<option value="" selected>Assign Student</option>
@foreach($posts as $post)
<option value="{{ $post->First_Name }} {{
$post->Last_Name }}" name="Customer_Name">
{{ $post->First_Name }} {{ $post-
>Last_Name }}</option>
<br>
@endforeach
<button type="submit">Add Student</button>
<template x-for="(person, index) in
Object.values(persons)"
:key="index">
<tr>
<div><td x-text="person.last"></td>
</tr>
</template>
</form>
</div>
我的javascript:
function addRemove() {
return {
newFirst: '',
newLast: '',
// This makes page null after refresh
persons: '',
addRemoveSubmit() {
this.persons = [].concat({
first: this.newFirst,
last: this.newLast
}, this.persons);
}
}
}
答:
0赞
Pippo
11/15/2023
#1
在您的场景中,最简单的方法是使用 Alpine.persist() 功能,因此在 addRemove() 返回的对象中:
return {
newFirst: '',
newLast: '',
persons: Alpine.$persist([]).as("persons").using(sessionStorage),
.....
评论