Stiecore have a few ways to enable content editing in the Experience Editor. This is not specific to treelist field but can be used for other fields as well like multi list etc.
As alternative to Edit Frames the similar functionality can be implemented quite simply with the help of Custom Experience Buttons.
You can use standard Sample Item template, item based on this template and standard Sample Rendering.
The steps required to take to enable editing a tree list field in the Content Editor are following:
Log in to Sitecore Desktop, switch to "core" database;
Under /sitecore/content/Applications/WebEdit/Custom Experience Buttons create an item based on /sitecore/templates/System/WebEdit/field Editor Button. Name it "Edit List". This button will be referenced by a rendering later;
- Fill in the fields of the newly created item: Header - "Edit Address", Fields - pipe-separated list of... - "Address", Tooltip - "Click to edit Address list" and choose an icon for the item;
- Save changes;
- Switch to "master" database;
- Add a tree list field to the /sitecore/templates/Sample/Sample Item template, name it "Address";
- Open /sitecore/layout/Renderings/Sample/Sample Rendering item;
- Navigate to Experience Editor Buttons section;
- Add "Edit List" button to the right side of the Experience Editor buttons section;
- Save changes.
Now, when you try to open /sitecore/content/Home item in the Experience Editor, you will notice an additional button when you click on the Sample Rendering area. When you click it, a window with "Address" field will be opened and enabled for editing.
This approach does not require writing any code, thus it's quite convenient to use it with different types of complex fields.